package com.yociyy.admin.mapper;

import com.yociyy.admin.model.entity.BaseDictData;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 字典数据 mapper
 *
 * @author Y.yang
 * @date 2020/5/21
 */
public interface BaseDictDataMapper extends Mapper<BaseDictData> {
	/**
	 * 根据条件分页查询字典数据
	 * 
	 * @param params 查询条件
	 * @return 字典数据列表
	 */
	List<BaseDictData> selectPage(Map<String,Object> params);

	/**
	 * 根据字典类型查询字典数据
	 * 
	 * @param dictType 字典类型
	 * @return 字典数据列表
	 */
	List<BaseDictData> selectDictDataByType(String dictType);

	/**
	 * 根据字典类型和字典键值查询字典数据信息
	 * 
	 * @param dictType 字典类型
	 * @param dictValue 字典键值
	 * @return 字典标签
	 */
	String selectDictLabel(@Param("dictType") String dictType, @Param("dictValue") String dictValue);

	/**
	 * 批量删除字典数据
	 * 
	 * @param ids 需要删除的数据
	 * @return 结果
	 */
	int batchDeleteDictDataByIds(long[] ids);

	/**
	 * 同步修改字典类型
	 * 
	 * @param oldDictType 旧字典类型
	 * @param newDictType 新旧字典类型
	 * @return 结果
	 */
	int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType);
}
